iT邦幫忙

2023 iThome 鐵人賽

DAY 21
0

為了方便範例程式的展示,所以我將Request API 以及 Confirm API以及Capture API的範例寫在一起。
將Capture API所需的java bean先建立起來:
https://ithelp.ithome.com.tw/upload/images/20230921/20160220h5NhKDPZ0v.png
Java bean的部分一樣都統一放在vo資料夾,這邊建立了一個CaptureData的物件,屬性有amount、currency兩個屬性,getter()、setter()要記得加上喔。
官方文件沒有提供Capture API的範例程式,就只能自己打了!
ConsumerCheck主程式:
https://ithelp.ithome.com.tw/upload/images/20230921/20160220azVPhywsoE.png
Amount金額的部分對應的就是Request API中這筆交易的總金額。
Java bean的部分完成後,要打Capture API之前也是要將Request Header的部分也準備好!
Capture API (Request Header):
https://ithelp.ithome.com.tw/upload/images/20230921/20160220HWHYNk7NnL.png
上圖的signature對應的就是Request Header中的X-LINE-Authorization,而signature的組成就是由ChannelSecret+captureUri+RequestBody+confirmNonce所組成。
ChannelSecret:LINE PAY商家後台我們連結金鑰裡的Channel Secret Key。
RequestBody:由objectmapper將captureData的java bean內容都轉為json格式的內容。
CaptureNonce:同時也是Request Header中的X-LINE-Authorization-Nonce。
CaptureUri:官方文件裡提供給Capture API這隻API的URL,{transactionId}放的是Request API付款後Response回覆的transactionId。
所以CaptureUri的部分我們必須連貫著Request API進行測試,才能將uri裡面的{transactionId}替換成equest API付款後Response回覆的transactionId。
Request API – transactionId:
https://ithelp.ithome.com.tw/upload/images/20230921/20160220p5uSkQkxjp.png
將CaptureUri的{transactionId}的部分替換後就可以囉~
我們就把資訊都印出來。
Console:
https://ithelp.ithome.com.tw/upload/images/20230921/20160220a8mbbk9sFY.png
這樣就可以帶到postman做測試囉!


上一篇
Day20 – 請款 API(Capture API)!(1)
下一篇
Day22 - Postman測試Capture API!
系列文
就算是初學者也能實作成功的使用java + spring 實現串接Line Pay APIs!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言